﻿using static Vanara.PInvoke.Ole32;

namespace Vanara.PInvoke;

public static partial class FunDisc
{
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
	/* 08c0c253-a154-4746-9005-82de5317148b */
	public static readonly PROPERTYKEY PKEY_FunctionInstance = new(new Guid(0x08c0c253, 0xa154, 0x4746, 0x90, 0x05, 0x82, 0xde, 0x53, 0x17, 0x14, 0x8b), 0x00000001);  // VT_UNKNOWN

	// FMTID_FD = {904b03a2-471d-423c-a584-f3483238a146}
	public static readonly Guid FMTID_FD = new(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46);
	public static readonly PROPERTYKEY PKEY_FD_Visibility = new(new Guid(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46), 0x00000001); //    VT_UINT

	public const int FD_Visibility_Default = 0;
	public const int FD_Visibility_Hidden = 1;

	// FMTID_Device = {78C34FC8-104A-4aca-9EA4-524D52996E57}
	public static readonly Guid FMTID_Device = new(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57);

	public static readonly PROPERTYKEY PKEY_Device_NotPresent = new(new Guid(0x904b03a2, 0x471d, 0x423c, 0xa5, 0x84, 0xf3, 0x48, 0x32, 0x38, 0xa1, 0x46), 0x00000002); //    VT_UINT
	public static readonly PROPERTYKEY PKEY_Device_QueueSize = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000024); //    VT_UI4
	public static readonly PROPERTYKEY PKEY_Device_Status = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000025); //    VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Device_Comment = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000026); //    VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Device_Model = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000027); //    VT_LPWSTR

	// FMTID_Device = {53808008-07BB-4661-BC3C-B5953E708560}
	public static readonly Guid FMTID_DeviceInterface = new(0x53808008, 0x07BB, 0x4661, 0xBC, 0x3C, 0xB5, 0x95, 0x3E, 0x70, 0x85, 0x60);

	public static readonly PROPERTYKEY PKEY_DeviceInterface_DevicePath = new(new Guid(0x53808008, 0x07BB, 0x4661, 0xBC, 0x3C, 0xB5, 0x95, 0x3E, 0x70, 0x85, 0x60), 0x00000001); //    VT_LPWSTR

	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Address = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000033);  // VT_LPWSTR or VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_DiscoveryMethod = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000034);  // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsEncrypted = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000035);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsAuthenticated = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000036);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsConnected = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000037);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsPaired = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000038);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Icon = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000039);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Version = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000041);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Last_Seen = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000042);  // VT_FIELTIME
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Last_Connected = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000043);  // VT_FILETIME
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsShowInDisconnectedState = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000044);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsLocalMachine = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000046);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataPath = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000047);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsMetadataSearchInProgress = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000048);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataChecksum = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000049);  // VT_UI1 | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNotInterestingForDisplay = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004A);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_LaunchDeviceStageOnDeviceConnect = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004C);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_LaunchDeviceStageFromExplorer = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004D);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_BaselineExperienceId = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004E);  // VT_CLSID
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsDeviceUniquelyIdentifiable = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000004F);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_AssociationArray = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000050);  // VT_LPWSTR  | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceDescription1 = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000051);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceDescription2 = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000052);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNotWorkingProperly = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000053);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsSharedDevice = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000054);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsNetworkDevice = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000055);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_IsDefaultDevice = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000056);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_MetadataCabinet = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000057);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_RequiresPairingElevation = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000058);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_ExperienceId = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000059);  // VT_CLSID
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005A);  // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Desc_Singular = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005B);  // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Desc_Plural = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005C);  // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Category_Icon = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005D);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_CategoryGroup_Desc = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005E);  // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_CategoryGroup_Icon = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x0000005F);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_PrimaryCategory = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000061);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_UnpairUninstall = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000062);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_RequiresUninstallElevation = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000063);  // VT_BOOL
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_DeviceFunctionSubRank = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000064);  // VT_UI4
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_AlwaysShowDeviceAsConnected = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000065);  // VT_BOOL

	public static readonly PROPERTYKEY PKEY_DeviceDisplay_FriendlyName = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003000);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_Manufacturer = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002000);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_ModelName = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002002);  // VT_LPWSTR (localizable)
	public static readonly PROPERTYKEY PKEY_DeviceDisplay_ModelNumber = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002003);  // VT_LPWSTR

	public static readonly PROPERTYKEY PKEY_DeviceDisplay_InstallInProgress = new(new Guid(0x83da6326, 0x97a6, 0x4088, 0x94, 0x53, 0xa1, 0x92, 0x3f, 0x57, 0x3b, 0x29), 9);     // DEVPROP_TYPE_BOOLEAN

	// FMTID_Pairing = {8807CAE6-7DB6-4f10-8EE4-435EAA1392BC}
	public static readonly Guid FMTID_Pairing = new(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc);
	public static readonly PROPERTYKEY PKEY_Pairing_ListItemText = new(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000001);        // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Pairing_ListItemDescription = new(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000002); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Pairing_ListItemIcon = new(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000003);        // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Pairing_ListItemDefault = new(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000004);     // VT_BOOL
	public static readonly PROPERTYKEY PKEY_Pairing_IsWifiOnlyDevice = new(new Guid(0x8807cae6, 0x7db6, 0x4f10, 0x8e, 0xe4, 0x43, 0x5e, 0xaa, 0x13, 0x92, 0xbc), 0x0000010);    // VT_BOOL

	// DiscoveryMethod values
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_BLUETOOTH = "Bluetooth";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_BLUETOOTH_LE = "Bluetooth Low Energy";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_NETBIOS = "NetBIOS";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_AD_PRINTER = "Published Printer";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_PNP = "PnP";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_UPNP = "UPnP";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_WSD = "WSD";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_WUSB = "WUSB";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_WFD = "WiFiDirect";
	public const string DEVICEDISPLAY_DISCOVERYMETHOD_ASP_INFRA = "AspInfra";


	//  Name:     System.Device.BIOSVersion -- PKEY_Device_BIOSVersion
	//  Type:     String -- VT_LPWSTR  (For variants: VT_BSTR)  Legacy code may treat this as VT_BSTR.
	//  FormatID: EAEE7F1D-6A33-44D1-9441-5F46DEF23198, 9
	public static readonly PROPERTYKEY PKEY_Device_BIOSVersion = new(new Guid(0xEAEE7F1D, 0x6A33, 0x44D1, 0x94, 0x41, 0x5F, 0x46, 0xDE, 0xF2, 0x31, 0x98), 9);

	public static readonly PROPERTYKEY PKEY_Write_Time = new(new Guid(0xf53b7e1c, 0x77e0, 0x4450, 0x8c, 0x5f, 0xa7, 0x6c, 0xc7, 0xfd, 0xe0, 0x58), 0x00000100); //    VT_FILETIME
	public static readonly PROPERTYKEY PKEY_Create_Time = new(new Guid(0xf53b7e1c, 0x77e0, 0x4450, 0x8c, 0x5f, 0xa7, 0x6c, 0xc7, 0xfd, 0xe0, 0x58), 0x00000101); //    VT_FILETIME

	public static readonly PROPERTYKEY PKEY_Device_InstanceId = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000100); //    VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_Device_Interface = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00000101); //    VT_CLSID

	public static readonly PROPERTYKEY PKEY_ExposedIIDs = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003002); //  VT_VECTOR | VT_CLSID
	public static readonly PROPERTYKEY PKEY_ExposedCLSIDs = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003003); //  VT_VECTOR | VT_CLSID
	public static readonly PROPERTYKEY PKEY_InstanceValidatorClsid = new(new Guid(0x78c34fc8, 0x104a, 0x4aca, 0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57), 0x00003004); // VT_CLSID

	// FMTID_WSD = {92506491-FF95-4724-A05A-5B81885A7C92}
	public static readonly Guid FMTID_WSD = new(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92);

	public static readonly PROPERTYKEY PKEY_WSD_AddressURI = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001000);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WSD_Types = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001001); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WSD_Scopes = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001002);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WSD_MetadataVersion = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001003); //VT_UI8
	public static readonly PROPERTYKEY PKEY_WSD_AppSeqInstanceID = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001004);   // VT_UI8
	public static readonly PROPERTYKEY PKEY_WSD_AppSeqSessionID = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001005); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WSD_AppSeqMessageNumber = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00001006); // VT_UI8
	public static readonly PROPERTYKEY PKEY_WSD_XAddrs = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00002000); // VT_LPWSTR or VT_VECTOR | VT_LPWSTR

	public static readonly PROPERTYKEY PKEY_WSD_MetadataClean = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00000001);   // VT_BOOL
	public static readonly PROPERTYKEY PKEY_WSD_ServiceInfo = new(new Guid(0x92506491, 0xFF95, 0x4724, 0xA0, 0x5A, 0x5B, 0x81, 0x88, 0x5A, 0x7C, 0x92), 0x00000002);   // VT_VECTOR|VT_VARIANT (variants are VT_UNKNOWN)

	public static readonly PROPERTYKEY PKEY_PUBSVCS_TYPE = new(new Guid(0xF1B88AD3, 0x109C, 0x4FD2, 0xBA, 0x3F, 0x53, 0x5A, 0x76, 0x5F, 0x82, 0xF4), 0x00005001); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PUBSVCS_SCOPE = new(new Guid(0x2AE2B567, 0xEECB, 0x4A3E, 0xB7, 0x53, 0x54, 0xC7, 0x25, 0x49, 0x43, 0x66), 0x00005002);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PUBSVCS_METADATA = new(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005003); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PUBSVCS_METADATA_VERSION = new(new Guid(0xC0C96C15, 0x1823, 0x4E5B, 0x93, 0x48, 0xE8, 0x25, 0x19, 0x92, 0x3F, 0x04), 0x00005004); // VT_UI8
	public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_ALLOWED = new(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005005); // VT_VECTOR | VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_DENIED = new(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005006); // VT_VECTOR | VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PUBSVCS_NETWORK_PROFILES_DEFAULT = new(new Guid(0x63C6D5B8, 0xF73A, 0x4ACA, 0x96, 0x7E, 0x0C, 0xC7, 0x87, 0xE0, 0xB5, 0x59), 0x00005007); // VT_BOOL

	// FMTID_PNPX = {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}
	public static readonly Guid FMTID_PNPX = new(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD);
	// from Discovery messages
	public static readonly PROPERTYKEY PKEY_PNPX_GlobalIdentity = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001000);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_Types = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001001);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_Scopes = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001002);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_XAddrs = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001003);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_MetadataVersion = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001004);   // VT_UI8
	public static readonly PROPERTYKEY PKEY_PNPX_ID = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001005);   // VT_LPWSTR

	// for Directed Discovery
	public static readonly PROPERTYKEY PKEY_PNPX_RemoteAddress = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001006);   // VT_LPWSTR
																																													  // for installable ssdp root devices
	public static readonly PROPERTYKEY PKEY_PNPX_RootProxy = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00001007);   // VT_BOOL


	// from ThisModel metadata
	public static readonly PROPERTYKEY PKEY_PNPX_ManufacturerUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002001);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_ModelUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002004);  // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_Upc = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002005);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_PresentationUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00002006);   // VT_LPWSTR
																																														// from ThisDevice metadata
	public static readonly PROPERTYKEY PKEY_PNPX_FirmwareVersion = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003001);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_SerialNumber = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003002);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_DeviceCategory = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003004);  // VT_LPWSTR | VT_VECTOR

	// for secure devices
	public static readonly PROPERTYKEY PKEY_PNPX_SecureChannel = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007001);   // VT_BOOL
	public static readonly PROPERTYKEY PKEY_PNPX_CompactSignature = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007002);   // VT_BOOL
	public static readonly PROPERTYKEY PKEY_PNPX_DeviceCertHash = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007003);   // VT_LPWSTR


	// DeviceCategory values
	public const string PNPX_DEVICECATEGORY_COMPUTER = "Computers";
	public const string PNPX_DEVICECATEGORY_INPUTDEVICE = "Input";
	public const string PNPX_DEVICECATEGORY_PRINTER = "Printers";
	public const string PNPX_DEVICECATEGORY_SCANNER = "Scanners";
	public const string PNPX_DEVICECATEGORY_FAX = "FAX";
	public const string PNPX_DEVICECATEGORY_MFP = "MFP";
	public const string PNPX_DEVICECATEGORY_CAMERA = "Cameras";
	public const string PNPX_DEVICECATEGORY_STORAGE = "Storage";
	public const string PNPX_DEVICECATEGORY_NETWORK_INFRASTRUCTURE = "NetworkInfrastructure";
	public const string PNPX_DEVICECATEGORY_DISPLAYS = "Displays";
	public const string PNPX_DEVICECATEGORY_MULTIMEDIA_DEVICE = "MediaDevices";
	public const string PNPX_DEVICECATEGORY_GAMING_DEVICE = "Gaming";
	public const string PNPX_DEVICECATEGORY_TELEPHONE = "Phones";
	public const string PNPX_DEVICECATEGORY_HOME_AUTOMATION_SYSTEM = "HomeAutomation";
	public const string PNPX_DEVICECATEGORY_HOME_SECURITY_SYSTEM = "HomeSecurity";
	public const string PNPX_DEVICECATEGORY_OTHER = "Other";

	public static readonly PROPERTYKEY PKEY_PNPX_DeviceCategory_Desc = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003005);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_Category_Desc_NonPlural = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003010);   // VT_LPWSTR | VT_VECTOR

	public static readonly PROPERTYKEY PKEY_PNPX_PhysicalAddress = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003006);   // VT_UI1 | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_NetworkInterfaceLuid = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003007);   // VT_UI8
	public static readonly PROPERTYKEY PKEY_PNPX_NetworkInterfaceGuid = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003008);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_IpAddress = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00003009);   // VT_LPWSTR | VT_VECTOR
																																												  // from Relationship metadata
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceAddress = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004000);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceId = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004001);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceTypes = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00004002);   // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceControlUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4004);    // VT_LPWSTR 
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceDescUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4005);    // VT_LPWSTR 
	public static readonly PROPERTYKEY PKEY_PNPX_ServiceEventSubUrl = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x4006);    // VT_LPWSTR 

	// Association DB PKEYs
	public static readonly PROPERTYKEY PKEY_PNPX_Devnode = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000001); // VT_BOOL
	public static readonly PROPERTYKEY PKEY_PNPX_AssociationState = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000002); // VT_UINT
	public static readonly PROPERTYKEY PKEY_PNPX_AssociatedInstanceId = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000003); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_LastNotificationTime = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00000004); // VT_DATE
																																														   // for Computer Discovery
	public static readonly PROPERTYKEY PKEY_PNPX_DomainName = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005000);   // VT_LPWSTR
																																												   // Use PKEY_ComputerName (propkey.h)
	public static readonly PROPERTYKEY PKEY_PNPX_MachineName = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005001);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_PNPX_ShareName = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00005002);   // VT_LPWSTR

	// SSDP Provider custom properties
	public static readonly PROPERTYKEY PKEY_SSDP_AltLocationInfo = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006000);   // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_SSDP_DevLifeTime = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006001);   // VT_UI4
	public static readonly PROPERTYKEY PKEY_SSDP_NetworkInterface = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00006002);   // VT_BOOL

	// FMTID_PNPXDynamicProperty = {4FC5077E-B686-44BE-93E3-86CAFE368CCD}
	public static readonly Guid FMTID_PNPXDynamicProperty = new(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD);

	public static readonly PROPERTYKEY PKEY_PNPX_Installable = new(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000001); // VT_BOOL
	public static readonly PROPERTYKEY PKEY_PNPX_Associated = new(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000002); // VT_BOOL
																																												 // PKEY_PNPX_Installed is deprecated this PKEY really represents Associated state
	public static readonly PROPERTYKEY PKEY_PNPX_CompatibleTypes = new(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000003); // VT_LPWSTR | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_PNPX_InstallState = new(new Guid(0x4FC5077E, 0xB686, 0x44BE, 0x93, 0xE3, 0x86, 0xCA, 0xFE, 0x36, 0x8C, 0xCD), 0x00000004); // VT_UI4 | VT_VECTOR

	public const int PNPX_INSTALLSTATE_NOTINSTALLED = 0;   // vector length = 1

	public const int PNPX_INSTALLSTATE_INSTALLED = 1;   // vector length = 3, CM_Get_DevNode_Status in 2nd and 3rd elements

	public const int PNPX_INSTALLSTATE_INSTALLING = 2;   // vector length = 1 or 3, CM_Get_DevNode_Status in 2nd and 3rd elements if available

	public const int PNPX_INSTALLSTATE_FAILED = 3;   // vector length = 3, CM_Get_DevNode_Status in 2nd and 3rd elements


	// Other
	public static readonly PROPERTYKEY PKEY_PNPX_Removable = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007000);   // VT_BOOL
	public static readonly PROPERTYKEY PKEY_PNPX_IPBusEnumerated = new(new Guid(0x656A3BB3, 0xECC0, 0x43FD, 0x84, 0x77, 0x4A, 0xE0, 0x40, 0x4A, 0x96, 0xCD), 0x00007010);   // VT_BOOL

	// WNET Provider properties
	public static readonly PROPERTYKEY PKEY_WNET_Scope = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000001); // VT_UINT
	public static readonly PROPERTYKEY PKEY_WNET_Type = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000002); // VT_UINT
	public static readonly PROPERTYKEY PKEY_WNET_DisplayType = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000003); // VT_UINT
	public static readonly PROPERTYKEY PKEY_WNET_Usage = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000004); // VT_UINT
	public static readonly PROPERTYKEY PKEY_WNET_LocalName = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000005); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WNET_RemoteName = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000006); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WNET_Comment = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000007); // VT_LPWSTR
	public static readonly PROPERTYKEY PKEY_WNET_Provider = new(new Guid(0xdebda43a, 0x37b3, 0x4383, 0x91, 0xE7, 0x44, 0x98, 0xda, 0x29, 0x95, 0xab), 0x00000008); // VT_LPWSTR


	// WCN Provider properties

	public static readonly PROPERTYKEY PKEY_WCN_Version = new(new Guid(0x88190b80, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000001); // VT_UI1
	public static readonly PROPERTYKEY PKEY_WCN_RequestType = new(new Guid(0x88190b81, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000002); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_AuthType = new(new Guid(0x88190b82, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000003); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_EncryptType = new(new Guid(0x88190b83, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000004); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_ConnType = new(new Guid(0x88190b84, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000005); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_ConfigMethods = new(new Guid(0x88190b85, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000006); // VT_INT
																																												   // map WCN DeviceType to PKEY_PNPX_DeviceCategory
																																												   //public static readonly PROPERTYKEY PKEY_WCN_DeviceType = new PROPERTYKEY(new Guid(0x88190b86, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000007); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_RfBand = new(new Guid(0x88190b87, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000008); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_AssocState = new(new Guid(0x88190b88, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x00000009); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_ConfigError = new(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000a); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_ConfigState = new(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000b); // VT_UI1
	public static readonly PROPERTYKEY PKEY_WCN_DevicePasswordId = new(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000c); // VT_INT
	public static readonly PROPERTYKEY PKEY_WCN_OSVersion = new(new Guid(0x88190b89, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000d); // VT_UINT
	public static readonly PROPERTYKEY PKEY_WCN_VendorExtension = new(new Guid(0x88190b8a, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000e); // VT_UI1 | VT_VECTOR
	public static readonly PROPERTYKEY PKEY_WCN_RegistrarType = new(new Guid(0x88190b8b, 0x4684, 0x11da, 0xa2, 0x6a, 0x00, 0x02, 0xb3, 0x98, 0x8e, 0x81), 0x0000000f); // VT_INT

	//-----------------------------------------------------------------------------
	// Hardware properties

	public static readonly PROPERTYKEY PKEY_Hardware_Devinst = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4097);

	//  Name:     System.Hardware.DisplayAttribute -- PKEY_Hardware_DisplayAttribute
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 5
	public static readonly PROPERTYKEY PKEY_Hardware_DisplayAttribute = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 5);

	//  Name:     System.Hardware.DriverDate -- PKEY_Hardware_DriverDate
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 11
	public static readonly PROPERTYKEY PKEY_Hardware_DriverDate = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 11);

	//  Name:     System.Hardware.DriverProvider -- PKEY_Hardware_DriverProvider
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 10
	public static readonly PROPERTYKEY PKEY_Hardware_DriverProvider = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 10);

	//  Name:     System.Hardware.DriverVersion -- PKEY_Hardware_DriverVersion
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 9
	public static readonly PROPERTYKEY PKEY_Hardware_DriverVersion = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 9);

	//  Name:     System.Hardware.Function -- PKEY_Hardware_Function
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4099
	public static readonly PROPERTYKEY PKEY_Hardware_Function = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4099);

	//  Name:     System.Hardware.Icon -- PKEY_Hardware_Icon
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 3
	public static readonly PROPERTYKEY PKEY_Hardware_Icon = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 3);

	//  Name:     System.Hardware.Image -- PKEY_Hardware_Image
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4098
	public static readonly PROPERTYKEY PKEY_Hardware_Image = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4098);

	//  Name:     System.Hardware.Manufacturer -- PKEY_Hardware_Manufacturer
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 6
	public static readonly PROPERTYKEY PKEY_Hardware_Manufacturer = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 6);

	//  Name:     System.Hardware.Model -- PKEY_Hardware_Model
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 7
	public static readonly PROPERTYKEY PKEY_Hardware_Model = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 7);

	//  Name:     System.Hardware.Name -- PKEY_Hardware_Name
	//  Type:     String -- VT_LPWSTR  (For variants: VT_BSTR)
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 2
	public static readonly PROPERTYKEY PKEY_Hardware_Name = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 2);

	//  Name:     System.Hardware.SerialNumber -- PKEY_Hardware_SerialNumber
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 8
	public static readonly PROPERTYKEY PKEY_Hardware_SerialNumber = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 8);

	//  Name:     System.Hardware.ShellAttributes -- PKEY_Hardware_ShellAttributes
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4100
	public static readonly PROPERTYKEY PKEY_Hardware_ShellAttributes = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4100);

	//  Name:     System.Hardware.Status -- PKEY_Hardware_Status
	//  Type:     Unspecified -- VT_NULL
	//  FormatID: 5EAF3EF2-E0CA-4598-BF06-71ED1D9DD953, 4096
	public static readonly PROPERTYKEY PKEY_Hardware_Status = new(new Guid(0x5EAF3EF2, 0xE0CA, 0x4598, 0xBF, 0x06, 0x71, 0xED, 0x1D, 0x9D, 0xD9, 0x53), 4096);
#pragma warning restore CS1591 // Missing XML comment for publicly visible type or member
}